import request from "@/utils/request";

const BASE_URL = "/api/v1/mall";

const mallApi = {
  getPage(params?: PageQuery) {
    return request<any, PageResult<MallInfoVO[]>>({
      url: `${BASE_URL}/page`,
      method: "get",
      params,
    });
  },
  add(data: SysShoppingMallForm) {
    return request({
      url: `${BASE_URL}/add`,
      method: "post",
      data,
    });
  },
  delete(ids: string) {
    return request({
      url: `${BASE_URL}/${ids}`,
      method: "delete",
    });
  },
  update(data: SysShoppingMallForm) {
    return request({
      url: `${BASE_URL}/edit`,
      method: "put",
      data,
    });
  },
};

export default mallApi;

export interface MallPageQuery extends PageQuery {
  mallName: string;
  phonenumber: string;
}

/** 商场信息 */
export interface MallInfoVO {
  id: number /** 主键ID */;
  mallName: string /** 商场名称 */;
  address: string /** 商场地址 */;
  phonenumber: string /** 商场电话 */;
  createBy: string /** 创建者 */;
  createTime: string /** 创建时间 */;
  updateBy: string /** 更新者 */;
  updateTime: string /** 更新时间 */;
  remark: string /** 备注 */;
}

/**
 * 商场表单对象
 */
export interface SysShoppingMallForm {
  /** 主键 ID */
  id: number;

  /** 商场名称 */
  mallName: string;

  /** 商场地址 */
  address?: string;

  /** 商场电话 */
  phonenumber?: string;

  /** 创建者 */
  createBy?: string;

  /** 创建时间（ISO 日期时间格式） */
  createTime?: string;

  /** 更新者 */
  updateBy?: string;

  /** 更新时间（ISO 日期时间格式） */
  updateTime?: string;

  /** 备注 */
  remark?: string;
}
